Completed
Pull Request — master (#981)
by wiese
110:54 queued 45:53
created

gulp.task(ꞌscripts-prodꞌ)   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
nc 1
dl 0
loc 7
rs 9.4285
nop 1

1 Function

Rating   Name   Duplication   Size   Complexity  
A ��) 0 5 1
1
var gulp = require('gulp');
2
var sass = require('gulp-sass');
3
var sourcemaps = require('gulp-sourcemaps');
4
var autoprefixer = require('gulp-autoprefixer');
5
var browserSync = require('browser-sync').create();
6
var cssNano = require('gulp-cssnano');
7
var useref = require('gulp-useref');
8
var uglify = require('gulp-uglify');
9
var gulpIf = require('gulp-if');
10
var fileinclude = require('gulp-file-include');
11
var imagemin = require('gulp-imagemin');
12
var gulpsync = require('gulp-sync')(gulp);
13
var exec = require('child_process').exec;
14
15
var dirs = {
16
    src: 'src',
17
    dist: 'dist'
18
};
19
20
/* development tasks */
21
22
gulp.task('styles', function(){
23
  return gulp.src(dirs.src + '/sass/*.scss')
24
    .pipe(sourcemaps.init())
25
    .pipe(sass({
26
        outputStyle: 'nested', // libsass doesn't support expanded yet
27
        precision: 10,
28
        includePaths: ['.']}))
29
    .pipe(autoprefixer({
30
      browsers: [
31
        'last 2 versions',
32
        'android 4',
33
        'opera 12',
34
        'iOS >= 7'
35
      ]}
36
    ))
37
    .pipe(sourcemaps.write('.'))
38
    .pipe(gulp.dest(dirs.dist + '/css'))
39
    .pipe(browserSync.reload({
40
      stream: true
41
    }))
42
});
43
44
gulp.task('htmlincludes', function() {
45
  return gulp.src('./' + dirs.src + '/html/templates/*.html')
46
    .pipe(fileinclude({
47
      prefix: '@@',
48
      basepath: './' + dirs.src + '/html/partials'
49
    }))
50
    .pipe(gulp.dest('./' + dirs.dist))
51
    .pipe(browserSync.reload({
52
      stream: true
53
    }))
54
});
55
56
57
gulp.task('scripts', function(cb) {
58
  exec('browserify src/app/main.js -s WMDE -o ' + dirs.dist + '/build/wmde.js', function (err, stdout, stderr) {
59
    console.log(stdout);
0 ignored issues
show
Debugging Code introduced by
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
60
    console.log(stderr);
61
    cb(err);
62
  });
63
});
64
65
gulp.task('scripts-prod', function(cb) {
66
  exec('browserify src/app/main.js -s WMDE -o ' + dirs.dist + '/build/wmde.js', function (err, stdout, stderr) {
67
    console.log(stdout);
0 ignored issues
show
Debugging Code introduced by
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
68
    console.log(stderr);
69
    cb(err);
70
  });
71
});
72
73
gulp.task('browserSync', function() {
74
  browserSync.init({
75
    server: {
76
      baseDir: dirs.src
77
    }
78
  })
79
});
80
81
gulp.task('watch',['browserSync'], function() {
82
  gulp.watch(dirs.src + '/sass/**/*.scss', ['styles'])
83
  gulp.watch(dirs.src + '/app/**/*.js', ['scripts', browserSync.reload])
84
  gulp.watch(dirs.src + '/html/partials/**/*.html', ['htmlincludes'])
85
  gulp.watch(dirs.src + '/html/templates/**/*.html', ['htmlincludes'])
86
  gulp.watch(dirs.src + '/scripts/**/*.js', browserSync.reload);
87
});
88
89
90
gulp.task('default', ['styles']);
91
92
/* todo copiar files jsf from node_modules to vendor */
93
94
gulp.task('develop', gulpsync.sync(['styles','scripts','htmlincludes']));
95
96
/* productions tasks */
97
98
99
// minimitzar js, css
100
// concatenar css
101
// copiar html
102
// minimitzar imatges
103
104
105
gulp.task('html', function(){
106
  return gulp.src(dirs.src + '/*.html')
107
    .pipe(gulp.dest(dirs.dist));
108
});
109
110
111
gulp.task('images', function() {
112
  return gulp.src(dirs.src + '/assets/images/**/*.{png,jpg,svg,ico}')
113
    .pipe(imagemin([
114
      imagemin.jpegtran({progressive: true}),
115
      imagemin.gifsicle({interlaced: true}),
116
      imagemin.svgo({plugins: [{removeUnknownsAndDefaults: false}, {cleanupIDs: false}]})
117
    ]))
118
    .pipe(gulp.dest(dirs.dist + '/assets/images'))
119
});
120
121
gulp.task('copies', function() {
122
  gulp.src(dirs.src + '/assets/fonts/**/*.{ttf,woff,eof,svg,eot,woff2}')
123
  .pipe(gulp.dest(dirs.dist + '/assets/fonts'));
124
  gulp.src(dirs.src + '/assets/favicons/*.*')
125
  .pipe(gulp.dest(dirs.dist + '/assets/favicons'));
126
  gulp.src(dirs.src + '/assets/pdf/*.pdf')
127
  .pipe(gulp.dest(dirs.dist + '/assets/pdf'));
128
  gulp.src(dirs.src + '/scripts/*.js')
129
    .pipe(gulp.dest(dirs.dist + '/scripts'));
130
131
  gulp.src('node_modules/jcf/dist/css/theme-minimal/jcf.css')
132
    .pipe(gulp.dest(dirs.dist + '/scripts/vendor/jcf'));
133
  gulp.src('node_modules/jcf/dist/js/jcf.js')
134
    .pipe(gulp.dest(dirs.dist + '/scripts/vendor/jcf'));
135
  gulp.src('node_modules/jcf/dist/js/jcf.select.js')
136
    .pipe(gulp.dest(dirs.dist + '/scripts/vendor/jcf'));
137
  gulp.src('node_modules/jcf/dist/js/jcf.scrollable.js')
138
    .pipe(gulp.dest(dirs.dist + '/scripts/vendor/jcf'));
139
  gulp.src('node_modules/jquery/dist/jquery.js')
140
    .pipe(gulp.dest(dirs.dist + '/scripts/vendor/jquery'));
141
});
142
143
gulp.task('useref', function(){
144
    return !gulp.src('!' + dirs.src + '/*.html')
145
        .pipe(useref())
146
        .pipe(gulpIf('*.js', uglify()))
147
        .pipe(gulpIf('*.css',cssNano()))
148
        .pipe(gulp.dest(dirs.dist))
149
});
150
151
/* tasca a cridar per posar tot el contingut a dist */
152
gulp.task('prod', gulpsync.sync(['scripts-prod','styles','htmlincludes','html','images','copies', 'useref']));
153